package com.whalehearing.tingyou.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author linfeng
 * @email 2445465217@qq.com
 * @date 2022-01-20 12:10:43
 */
@Data
@JsonIgnoreProperties(value = {"password"})
public class AppUserEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @TableId(value = "uid", type = IdType.AUTO)
    private Integer uid;
    /**
     * 手机号
     */
    private String mobile;

    /**
     * 是否允许通过id查找，0允许1不允许
     */
    private Integer allowIdFind;
    /**
     * 是否允许通过mobile查找，0允许1不允许
     */
    private Integer allowMobileFind;
    /**
     * 是否允许通过二维码查找，0允许1不允许
     */
    private Integer allowCodeFind;

    /**
     * 邮箱
     */
    private String email;
    /**
     * 用户名
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 用户组
     */
    private Integer groupId;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 性别(0未知，1男，2女)
     */
    private Integer gender;
    /**
     * 省份
     */
    private String province;
    /**
     * 城市
     */
    private String city;
    /**
     * 小程序openid
     */
    private String openid;
    /**
     * 公众号openid
     */
    private String mpOpenid;
    /**
     * unionid
     */
    private String unionid;
    /**
     * 状态 0正常 1禁用 2禁言 9注销
     */
    private Integer status;
    /**
     * 注销原因：1有多个账号，2重新注册新账号，3很少使用听友，不想用了，4推荐的内容不喜欢，5广告太多，6其他原因
     */
    private String logoutReason;
    /**
     * 个性签名
     */
    private String intro;
    /**
     * 用户余额
     */
    private BigDecimal money;
    /**
     * 积分
     */
    private Integer integral;
    /**
     * 连续签到天数
     */
    private Integer signNum;
    /**
     * 最后登录ip
     */
    private String lastLoginIp;
    /**
     * 用户标签
     */
    private String tagStr;
    /**
     * 会员过期时间
     */
    private Date vipExpireTime;
    /**
     * 是否为会员 0普通用户 1会员
     */
    private Integer vip;
    /**
     * 0为普通用户  1官方账号 2马甲虚拟用户 3商家端用户
     */
    private Integer type;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 用户等级
     */
    private Integer level;

    /**
     * 用户唯一识别码，用于加好友
     */
    private String identifyCode;

    /**
     * 用户二维码
     */
    private String qrcode;

    /**
     * 用户主页背景图
     */
    private String backgroundImage;

    /**
     * 微信账号
     */
    private String wechatId;

    /**
     * 苹果账号
     */
    private String appleId;

    @ApiModelProperty(value = "生日")
    private String birthday;

    @ApiModelProperty(value = "身份证号码")
    private String idCardNumber;

    @ApiModelProperty(value = "真实姓名：实名认证填入的")
    private String realName;

    @ApiModelProperty(value = "是否已实名认证：0未实名，1已实名，默认为0")
    private Integer realNameVerified;

    @ApiModelProperty(value = "'连续签到天数'")
    private Integer continuousSignIn;

    @ApiModelProperty(value = "'音符'")
    private Integer musicalNote;

    @ApiModelProperty(value = "'经验值'")
    private Integer experienceValue;

    @ApiModelProperty(value = "徽章：1听旅初探,2听友先锋,3听觉大师,4听友知音,5听心依旧,6听界精英")
    private Integer badge;

    @ApiModelProperty(value = "徽章类型，0默认类型，1听友元老徽章")
    private Integer badgeType;

}
